This invention relates to displaying computer user interfaces and, particularly, to displaying graphical user interfaces in multiple languages.
Some computer systems, including systems having web servers, are able to display graphical user interfaces in multiple languages. However, to support multiple languages, existing systems may store and present different sets of pages for each language. Furthermore, existing systems may transfer a user to a different location where the different set of pages are stored, e.g., through an alternate universal resource locator (URL). In such systems, the structure or layout of different sets of pages corresponding to the languages may vary. The new URL may transfer the user to a different server that generates the interface and is, e.g., in a different country.
Because the structure of pages in different languages may differ, each user may not see the same information. Also, to implement changes, an administrator may need to update many different instances of a page at one time. In addition, if the foreign language pages are maintained on a remote server, a local area network may not have access to the server having the foreign language pages.
One aspect of the invention is a computer system having a user interface. The computer system includes a memory and a processor. The memory further includes a plurality of string values stored in the memory. The string values correspond to respective languages. A memory object that represents the user interface is resident in the memory. The memory object includes a set of variables formatted to be associated with the string values.
The processor selectively associates variables with string values that correspond to the selected language.
Embodiments of this aspect of the invention include one or more of the following features.
The user interface includes a set of pages that are represented by a set of corresponding management objects. The pages conform to a standard generalized markup language.
The memory stores a set of data files that include string values. The data files reside in subdirectories of a root directory, the subdirectories correspond to the languages. A master data file contains a computer instruction that causes the computer system to process one of the data files in the subdirectories. The processor reads a string value from a default language directory and associates the string value with a variable. If a language other than the default language is selected, the processor reads another string value corresponding to the selected language and associates the other string value with the variable.
In a web-based system producing a graphical user interface, an STML programming object may include a variable, which represents, e.g., encoding parameters or fonts, that the system associates with language values to produce a page of an interface in different languages.
Each embodiment within the scope of the claims may include one or more of the following advantages.
A computer system may display a single page of a computer interface in multiple languages. Each page of the interface may include the same general structure regardless of which language is presented. The pages of the interface may be synchronized between languages. The same information can be presented regardless of which language is chosen. When making changes to a page, an administrator may update only a single instance of a page rather than multiple instances of a representative page, one page for each supported language. An administrator can add additional languages while the system is generating the interface. An administrator may make changes to pages non-invasively by transferring updated files to the system while the system is generating the interface. An administrator may make changes to pages dynamically. A page will always be able to display text in a base language, e.g., English, even if the text is a new addition to the page and the text has not yet been translated.